package com.d3works.apps.production.service;

import com.d3works.apps.production.db.RawMaterialRequirement;
import com.d3works.exception.D3worksException;

public interface RawMaterialRequirementService {

  /**
   * Print the raw material requirement report.
   *
   * @param rawMaterialRequirement the user defined parameter of the report.
   * @return URL to the printed report.
   */
  String print(RawMaterialRequirement rawMaterialRequirement) throws D3worksException;

  /**
   * Fetch next value for the sequence linked to the given raw material requirement.
   *
   * @param rawMaterialRequirement the report needing a sequence.
   * @return a string containing the value from the sequence.
   * @throws D3worksException if there is no sequence found.
   */
  String getSequence(RawMaterialRequirement rawMaterialRequirement) throws D3worksException;
}
